# 作者: 菅世博
# 2025年02月20日15时51分12秒
# 512326042@qq.com
class Dog:
    def __init__(self, name):
        self.name = name
    def game(self):
        print("%s 蹦蹦跳跳的玩耍..." % self.name)
class XiaoTianDog(Dog):
    def game(self):
        print("%s 飞到天上去玩耍..." % self.name)

class XiaoTianDog(Dog):

    def game(self):
        print("%s 飞到天上去玩耍..." % self.name)


class Person(object):
    def __init__(self, name):
        self.name = name
    def game_with_dog(self, dog:Dog):
        print("%s 和 %s 快乐的玩耍..." % (self.name, dog.name))
        # 让狗玩耍
        dog.game() # 不同的对象， 执行相同的操作， 但是执行的结果不同 ， 这就是多态


if __name__ == '__main__':
    wangcai = Dog("旺财")
    xiaotian = XiaoTianDog("哮天犬")
    person = Person("小明")
    person.game_with_dog(wangcai)
    print('-' * 50)
    person.game_with_dog(xiaotian)
